package edu.whut.regexTest;
/*
1.字符类
    []代表规则是一个字符
    [abc] :只能是a、b或c
    [^abc] :除了a、b、c以外的任何字符
    [a-zA-Z] :a到z，A到Z
    [a-zA-Z0-9] :
    [a-d[m-p]]或[a-dm-p]:a到d或者m-p
    [a-z&&[def]] : 取交集
    [a-z&&[^bc]] :a-z 除了b、c
    [a-z&&[^m-p]] :a-z除了m-p
2.预定义字符类
    . 任意字符
            \ 转义字符,让后边的字符老实一点，做自己
                eg：想打印":sout("\"")
                    想打印':sout("\'")
                    想用路径sout("D:\inage\a.png")不行，要sout("D:\\image\\a.png")
            \\ 让\变老实
             所以\\. 才表示真正的.  因为一个点代表任意字符
    \d 数字0-9
    \D 非数字
    \s 一个空白字符
    \S 非空白字符
    \w [a-zA-z_0-9]数字字母下划线
    \W 非字符单词
3.数量
    x? x一次或0次
    x* x零次或多次（任意次数）
    x+ 一次或多次
    x{n} 正好n次
    x{n, } 至少n次
    x{n,m} 至少n次，不超过m次
 */
public class RegexRules {
    public static void main(String[] args) {
        String regex1 = "[abc]";
        System.out.println("c".matches(regex1));

        String regex2 = "abc";
        System.out.println("abc".matches(regex2));

        String regex3 = "[a][b][c]";
        System.out.println("abc".matches(regex3));

        String regex4 = ".";
        System.out.println("a".matches(regex4));

        System.out.println("\'");

        String regex5 = "\\d";
        System.out.println("4".matches(regex5));

        String regex6 = "\\w";
        System.out.println("_".matches(regex6));

    }
}
